#ifndef __EPSILON__EPSILON_H__
#define __EPSILON__EPSILON_H__

#include "debug.h"

class eWindow;
class eWindowParameters;

/**
 * The one and only Epsilon engine.
 *
 * Currently, the engine is designed to support one
 *  and ONLY one eEngine object. If the need arises
 *  later on, we can reevaluate this decision.
 *
 */
class eEngine {
public:
   eEngine (void);
  ~eEngine (void);

  EPSILON_API eWindow* createWindow (eWindowParameters* params);
  EPSILON_API void Think (void);

public:
  eDebug debug;
};

extern EPSILON_API eEngine epsilon;

#endif /* __EPSILON__EPSILON_H__ */